/*
 * SelectionStrategyTournament.h
 *
 *  Created on: Oct 22, 2013
 *      Author: filipe
 */

#ifndef SELECTIONSTRATEGYTOURNAMENT_H_
#define SELECTIONSTRATEGYTOURNAMENT_H_

#include "SelectionStrategy.h"

namespace EvolutionaryOptimization
{
	class SelectionStrategyTournament: public EvolutionaryOptimization::SelectionStrategy
	{
		int _PopulationSize;
		double *_PopulationFitness;

		public:
			SelectionStrategyTournament(int population_size);
			virtual ~SelectionStrategyTournament();

			virtual void InitializeSelector(double *fitness);
			virtual Parents GetNextParents();
	};
}

#endif
